package com.microservice.base.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

/**
 * @author jbx
 * @package_name com.microservice.base.entity
 * @create_date 2020/12/5 23:07
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person implements Serializable {
  private static final long serialVersionUID = 6985057225668989372L;

  @Length(min = 0, max = 48)
  @ApiModelProperty(value = "主键:人员编号")
  private String personId;

  @Length(min = 0, max = 32)
  @ApiModelProperty(value = "人员名称")
  private String personName;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "性别", notes = "1男2女")
  private Integer sex;

  @Length(min = 0, max = 48)
  @ApiModelProperty(value = "所属组织")
  private String orgId;

  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private String phone;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "证件类型", notes = "111:身份整414:护照113:户口簿335:驾驶证131:工作证133:学生证 990:其他")
  private Integer certType;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "证件号码")
  private String certNum;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "工号")
  private String employeeId;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "状态", notes = "0正常,1删除")
  private Integer status;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "最近更新时间")
  private Date updateTime;

  @Length(min = 0, max = 11)
  @ApiModelProperty(value = "操作类型", notes = "0无变化,1更新,2新增")
  private Integer operation;

  @Length(min = 0, max = 30)
  @ApiModelProperty(value = "一卡通号码", notes = "16进制转10进制")
  private String cardHex;

  @Length(min = 0, max = 30)
  @ApiModelProperty(value = "一卡通号码", notes = "16进制转10进制")
  private String cardStatus;
}
